﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="CrmUser.cs" company="SMART business">
//   SMART business.
// </copyright>
// <summary>
//   Defines the CrmUser type.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

using UsersSettingsTool.Options;

namespace UsersSettingsTool.Additional_Classes.Classes
{

    /// <summary>
    /// Person with access to the Microsoft CRM system and who owns objects in the Microsoft CRM database.
    /// </summary>
    [System.Runtime.Serialization.DataContractAttribute]
    [Microsoft.Xrm.Sdk.Client.EntityLogicalNameAttribute("crmuser")]
    public class CrmUser : Microsoft.Xrm.Sdk.Entity
    {
        /// <summary>
        /// Default Constructor.
        /// </summary>
        public CrmUser()
            : base(EntityLogicalName)
        {
        }

        public const string EntityLogicalName = "crmuser";

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("enablecountryregioncodeprefixing")]
        public bool IsEnableCountryRegionCodePrefixing { get; set; }

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("enablehighcontrast")]
        public bool IsEnableHighContrast { get; set; }

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("issendasallowed")]
        public bool IsSendAsAllowed { get; set; }

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("advfindmode")]
        public int AdvFindMode { get; set; }

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("autocreatecontactonpromote")]
        public int AutoCreateContactOnPromote { get; set; }

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("calendarview")]
        public int CalendarView { get; set; }

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("helplanguage")]
        public int HelpLanguage { get; set; }

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("incomingemailfilteringmethod")]
        public int IncomingEmailFilteringMethod { get; set; }

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("recordsperpage")]
        public RecordPerPage RecordsPerPage { get; set; }

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("reportscripterrors")]
        public int ReportScriptErrors { get; set; }

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("timezone")]
        public TimeZones TimeZone { get; set; }

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("uilanguage")]
        public int UiLanguage { get; set; }

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("currency")]
        public Currency Currency { get; set; }

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("businessunit")]
        public string BusinessUnit { get; set; }

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("countrycode")]
        public string CountryCode { get; set; }

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("fullname")]
        public string FullName { get; set; }

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("pane")]
        public Pane Pane { get; set; }

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("tab")]
        public Tab Tab { get; set; }

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("workdaystarttime")]
        public string WorkDayStartTime { get; set; }

        /// <summary>
        /// IsEnableCountryRegionCodePrefixing
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("workdaystoptime")]
        public string WorkDayStopTime { get; set; }

        /// <summary>
        /// Is Disabled
        /// </summary>
        [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("isdisabled")]
        public bool IsDisabled { get; set; }
    }
}